package com.kfm.hotel.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.github.yulichang.annotation.EntityMapping;
import lombok.Data;

/**
 * 
 * @TableName intake_info
 */
@TableName(value ="intake_info")
@Data
public class IntakeInfo implements Serializable {
    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 入住房间
     */
    private Integer roomId;

    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-mm-dd",timezone = "GMT+8")
    private Date startTime;

    /**
     * 截止时间
     */
    @JsonFormat(pattern = "yyyy-mm-dd",timezone = "GMT+8")
    private Date endTime;

    /**
     * 押金，以分为单位存储 
     */
    private Long deposit;

    /**
     * 预付款, 以分为单位存储
     */
    private Long prepay;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-mm-dd",timezone = "GMT+8")
    private Date createTime;

    /**
     * 创建者
     */
    private Integer creator;

    /**
     * 退房时间
     */
    private Date exitTime;

    /**
     * 操作员
     */
    private Integer operator;

    /**
     * 支付金额，以分为单位存储 
     */
    private Long amount;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 更新者
     */
    private Integer updator;

    /**
     * 状态 1 正常 2 已退房
     */
    private Integer state;

    /**
     * 逻辑删除 1已删除
     */
    private Boolean isDel;

    @TableField(exist = false)
    @EntityMapping(thisField = "roomId", joinField = "id")
    private Room room;

    

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}